#ifndef RECOGNITION_H
#define RECOGNITION_H

#include <QDialog>
#include <QDialog>
#include <QDebug>
#include <QTimer>
#include <QImage>
#include <QPixmap>
#include <vector>
#include <QMessageBox> // 消息对话框
using namespace std;

#include <opencv2/opencv.hpp> // CV基础功能
using namespace cv;
#include <opencv2/face.hpp> // 人脸检测
using namespace cv::face;

namespace Ui {
class recognition;
}

class recognition : public QDialog
{
    Q_OBJECT

public:
    explicit recognition(QWidget *parent = 0);
    ~recognition();
    void openfun();//开始识别

private:
    Ui::recognition *ui;

    CascadeClassifier classifier; // 级联分类器：进行人脸比对
    VideoCapture vc; // 存储摄像头数据
    QTimer *timer; // 定时器
    Mat src; // 存储图像的矩阵对象
    // 正中间 300x300的矩形数据(有效识别区域)
    Rect r;
    // 使用一个向量对象存储人脸矩形
    vector<Rect> vec_findfaces;

    void blackSrc();
    void findFace();
    void showSrc();

private slots:
    void timeoutSlot(); // 定时器到点了的槽函数
    void stopSlot();//点击停止

};

#endif // RECOGNITION_H
